class Queue {
    constructor() {
        this.datastore = []
    }
    // 入队 enqueue(): [].push()
    // 出队 dequeue(): [].shift()
    // 对首 top()    : arr[0]
    // 队的长度 size(): arr.length
    // 清空队 clear() : arr = []
    // 队是否为空 isEmpty()： arr.length === 0
    enqueue(v) {
        this.datastore.push(v)
    }
    dequeue() {
        return this.datastore.shift()
    }
    top() {
        return this.datastore[0]
    }
    size() {
        return this.datastore.length
    }
    clear() {
        this.datastore = []
    }
    isEmpty() {
        return this.datastore.length === 0
    }

    log() {
        let i = 0
        for (let item of this.datastore) {
            console.log(`${i}:`, item)
            i++
        }
    }

}

module.exports = Queue